package com.rich.broker.controller;

import com.rich.broker.service.BrokerService;
import com.rich.broker.vo.BrokerVo;
import com.rich.common.entity.TbBroker;
import com.rich.common.result.ResultData;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

/**
 * @author HanSama
 * @date 2021年08月16日 18:48
 */
@RestController
@RequestMapping("/broker")
public class BrokerController {

    @Autowired
    private BrokerService brokerService;

    /**
     * 获取经纪人详情
     * @author HanSama
     * @date 2021/8/16 19:22
     * @param id
     * @return com.rich.common.entity.TbBroker
     */
    @GetMapping("/findOneById/{id}")
    public TbBroker findOneById(@PathVariable("id") Long id){
        return brokerService.findOneById(id);
    }

    /**
     * 获取经纪人排行榜
     * @author HanSama
     * @date 2021/8/16 19:22
     * @param brokerName
     * @return java.util.List<com.rich.common.entity.TbBroker>
     */
    @GetMapping("/rankingList")
    public List<TbBroker> rankingList(@RequestParam("brokerName") String brokerName){
        return brokerService.rankingList(brokerName);
    }


    /**
     *@描述 后端，经纪人列表
     *@参数  [brokerVo]
     *@返回值  com.rich.common.result.ResultData
     *@创建人  zhanglongfei
     *@创建时间  2021/8/17
     *@修改人和其它信息
     */
    @PostMapping("/brokerList")
    public ResultData brokerList(@RequestBody BrokerVo brokerVo){
        return brokerService.brokerList(brokerVo);
    }

    /**
     *@描述 后端，经纪人 ，逻辑删除
     *@参数  [id]
     *@返回值  void
     *@创建人  zhanglongfei
     *@创建时间  2021/8/17
     *@修改人和其它信息
     */
    @DeleteMapping("/delBoker/{id}")
    public void delBoker(@PathVariable("id")Integer id){
        try {
            brokerService.delBoker(id);
        }catch (Exception e){
            e.printStackTrace();
        }
    }
    /**
     *@描述 修改状态，启用、禁用
     *@参数  [id]
     *@返回值  void
     *@创建人  zhanglongfei
     *@创建时间  2021/8/17
     *@修改人和其它信息
     */
    @PutMapping("/updStatus/{id}/{status}")
    public void updStatus(@PathVariable("id")Integer id,@PathVariable("status")String status){
        try {
            brokerService.updStatus(id,status);
        }catch (Exception e){
            e.printStackTrace();
        }
    }

    /**
     *@描述 后端，经纪人 ，编辑
     *@参数  [id]
     *@返回值  void
     *@创建人  zhanglongfei
     *@创建时间  2021/8/17
     *@修改人和其它信息
     */
    @PutMapping("/updBroker")
    public void updBroker(@RequestBody TbBroker tbBroker){
        try {
            brokerService.updBroker(tbBroker);
        }catch (Exception e){
            e.printStackTrace();
        }
    }
    /**
     *@描述 后端，经纪人 ，新建
     *@参数  [id]
     *@返回值  void
     *@创建人  zhanglongfei
     *@创建时间  2021/8/17
     *@修改人和其它信息
     */
    @PostMapping("/addBroker")
    private void addBroker(@RequestBody TbBroker tbBroker){
        try {
            brokerService.addBroker(tbBroker);
        }catch (Exception e){
            e.printStackTrace();
        }
    }
}
